#pragma once
#include "DXAMLCommon.h"
#include "XamlParserContext.h"
#include "XamlNode.h"

class XamlNodeStreamValidator
{

public: 
	XamlNodeStreamValidator(const xshared_ptr<XamlParserContext> & inContext);
	~XamlNodeStreamValidator();
	HRESULT ShowNode(const XamlNode & inNode);
private: 
	HRESULT ValidateStartObject(const XamlNode & inNode);
	HRESULT ValidateStartProperty(const XamlNode & inNode);
	HRESULT ReportUnknownType(const XamlNode & inNode);
	HRESULT ReportUnknownProperty(const XamlNode & inNode);
	XBOOL m_bSeenAllAttributes;
	xshared_ptr<XamlParserContext> m_ParserContext;
};


